Reversing an imperative concurrent programming language
نویسندگان
چکیده
We introduce a method of reversing the execution imperative concurrent programs. Given an irreversible program, we describe process producing two versions. The first performs forward and saves information necessary for reversal. second uses this saved to simulate propose using identifiers capture statement order, use correctly undo data races via backtracking reversibility. prove reversibility be correct, showing that initial program state is restored all used (garbage-clean).
منابع مشابه
Integrating Constraints into an Imperative Programming Language
We investigate here how to integrate constraints directly into the imperative programming paradigm, as \\rst class citizens" and not by means of an external library. To this end we provide a systematic account of the issues that arise. In particular, we discuss the role of the logical and customary variables, the interaction between the constraint store and the program, and the need for lists. ...
متن کاملImNet: An Imperative Network Programming Language
One of the most recent architectures of networks is Software-Defined Networks (SDNs) using a controller appliance to control the set of switches on the network. The controlling process includes installing or uninstalling packet-processing rules on flow tables of switches. This paper presents a high-level imperative network programming language, called ImNet, to facilitate writing efficient, yet...
متن کاملCompensations in an Imperative Programming Language
Numerous mechanisms are used to deal with failure of systems or processes, one of which is that of compensating actions. A compensation can be seen as a program which somehow cancels out the effects of another — and by organising code in such a way so as to associate each program with its compensation, enables implicit recovery to a sane state if part of a computation somehow fails. In this pap...
متن کاملAn imperative programming language for spoken language translation
This paper describes the Grammar Programming Language (GPL), a new formalism for feature-structure-based linguistic computation. GPL was designed to meet the needs of spoken language translation. GPL is easy to use, concise, and efficient, and it allows the direct expression of detailed linguistic algorithms. GPL was used successfully as the basis of Sony's machine translation project.
متن کاملAlma-0: an Imperative Language That Supports Declarative Programming Alma-0: an Imperative Language That Supports Declarative Programming
We describe here an implemented small programming language, called Alma-0, that augments the expressive power of imperative programming by a limited number of features inspired by the logic programming paradigm. These additions encourage declarative programming and make it a more attractive vehicle for problems that involve search. We illustrate the use of Alma-0 by presenting solutions to a nu...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Science of Computer Programming
سال: 2022
ISSN: ['1872-7964', '0167-6423']
DOI: https://doi.org/10.1016/j.scico.2022.102873